namespace MouseGestures
{
    using System;

    /// <summary>
    /// 	Defines interface that provides necessary mouse events capturing functionality for
    /// 	MouseGestures component
    /// </summary>
    public interface IMouseMessageFilter
    {
        #region Public Events

        event MouseFilterEventHandler MouseMove;

        event MouseFilterEventHandler RightButtonDown;

        event MouseFilterEventHandler RightButtonUp;

        #endregion

        #region Public Properties

        /// <summary>
        /// 	Gets or set whether IMouseMessageFilter is enabled;
        /// </summary>
        bool Enabled { get; set; }

        #endregion
    }

    public delegate void MouseFilterEventHandler(object sender, EventArgs e);
}